/**
 * 用户地址模块校验文件
 */

const joi = require('joi');
const { messages } = require('./common');

/**
 * 公共校验
 */
const validCommon = joi.object({
    zip_code: joi.string().label('邮编').length(6).required().messages(messages),
    phone: joi.string().label('手机号').required().pattern(/^1[3-9]\d{9}$/).messages(messages),
    province: joi.string().empty().label('省编码').max(6).required().messages(messages),
    city: joi.string().empty().label('市编码').max(6).required().messages(messages),
    district: joi.string().empty().label('区编码').max(6).required().messages(messages),
    address: joi.string().empty().label('详细地址').max(100).required().messages(messages),
    default: joi.boolean().required().label('是否为默认地址').messages(messages),
});

/**
 * 校验添加
 */
const validAdd = joi.object({
    user_id: joi.number().integer().min(1).required().label('用户id').messages(messages)
}).concat(validCommon);

/**
 * 校验修改
 */
const validUpdate = joi.object({
    id: joi.number().integer().label('id').min(1).required().messages(messages)
}).concat(validCommon);

module.exports = {
    validAdd,
    validUpdate,
}